>>> The *PSB-Modula-2/ST ResourceMaker <<< *Pentagramm Software Braunschweig 14.05.92 Thomas Birke Hinnerk Rmenapf birke@bii.bessy.de Ottweilerstr. 18 38116 Braunschweig Ein Programm von Thomas Birke Die Programme sind nach bestem Wissen und Gewissen getestet und fr gut befunden. Ich bernehme jedoch keine Gew„hr fr die Fehlerfreiheit, der Software, und bin insbesondere nicht haftbar fr eventuelle Sch„den oder Datenverluste, die durch die Programme verursacht wurden. Das Programm darf von jedem weitereggeben und genutzt werden, jedoch liegen alle Rechte bei den Autoren. Resource-Datei und Resource-Einbindung ====================================== Resource-Datei -------------- Die Informationen wie Menzeile(n) und Dialogboxen aussehen werden normalerweise in RSC-Dateien abgelegt, die vom zugeh”rigen Programm geladen werden. In Sonderf„llen (z.B. bei Accessories) ist dieses Verfahren jedoch unbequem, oder fhrt sogar zu Problemen. Resource-Einbindung ------------------- Die Alternative zu Resource-Dateien ist die direkte Einbindung der Daten in das Programm. RSC2MOD setzt die Daten der RescorceDatei (.RSC) in einen Modula2-Quelltext um. Die Information wird in Prozeduren geschrieben, die nur Daten enthalten. Dazu ist es notwendig den Prozedurstart und -ende Code wegzulassen. Im TDI-Modula2 geht das mit der Compiler-Option (*$P-*) vor der Prozedur (s. die Datei RSC2MOD.MSK ). Resource-Anpassung Das direkte Einbenden der Resourcedaten hat auch Nachteile. Das AES passt die Daten nach dem Laden automatisch an die Gr”že des System-Zeichensatzes an. Bei eingebundenen Daten muž das durch eine Prozedur des Programms geschehen (s. die Datei RSC2MOD.MSK ). Die Prozedur muž einmal aufgerufen werden nachdem das Programm sich beim AES angemeldet hat. RSC2MOD erzeugt KEIN Definitionsmodul, es muž jedoch nur die Prozedur RelocateRSC exportiert werden. Existiert bereits ein Definitionsmodul (z.B. mit den Objekt-Indices s.u.) muž nur die Prozedur RelocateRSC nachgetragen werden. Die Prozedur RelocateRSC ist in mehrere Bl”cke unterteilt. Es werden nur die ben”tigten in die Ausgabedatei bernommen (s. Die Datei RSC2MOD.MSK). Resource-Indices Die Programme zur Erstellung von Resource-Dateien erzeugen auch Dateien, in denen die Indices der Objekte abgelegt sind. Fr Modula2 wird blicherweise ein Definitionsmodul erzeugt. An der Behandlung der Indices „ndert sich NICHTS. Sie mssen nur den Aufruf ResourceLoad (...) durch RelocateRSC ersetzen (s.o.), und den Aufruf von ResourceFree weglassen. Sogar AES-Funktionen wie ResourceGetAddr (...) arbeiten dann einwandfrei. Die Datei RCS2MOD.MSK ===================== Diese Datei enth„lt einen Rahmen, der mit den gelesenen Resource-Daten zur Ausgabedatei kombiniert wird. Sie kann zur Anpassung an verschiedene Modula2 Systeme ver„ndert werden. So muž evtl. zur Typumwandlung die Funktion VAL verwendet werden, anstatt den neuen Typ als Funktion zu verwenden, die Funktion CODE ist evtl. durch INLINE zu ersetzen, ... . Wichtig ist dabei, daž die Bedeutung von Textstcken zwischen zwei @ Symbolen nicht ver„ndert wird. An den Stellen, an denen ein @ in der Datei steht, greift das Programm ein. Also: wenn Ihr Modula2-System Žnderungen erfordert, beschr„nken Sie sich (wenn m”glich) auf die Importliste und die Funktionsnamen. Bevor Sie die Datei ver„ndern legen Sie eine Sicherungskopie des Originals an (das kann nicht oft genug gesagt werden!). Die Datei RCS2MOD.MSK muž in demselben Verzeichnis stehen wie RCS2MOD.PRG. Extra ===== RSC2MOD arbeitet mit dem M2OPTIONS-Accessory des TDI-Modula2 Systems zusammen. Die mitgelieferte Datei RSC2MOD.MSK ist an die Eigenheiten des TDI-Modula2 angepasst. WARNUNG ======= Die Ausgabedatei berschreibt gnadenlos (aber nach Rckfrage) eine evtl. schon vorandene Datei gleichen Namens. Passen sie also auf Ihre Quelltexte auf. Spendieren Sie ein extra-Modul fr die Resource! Alle unsere Programme werden auf Herz und Nieren getestet, um soviele Fehler wie m”glich zu beseitigen. Wir k”nnen trotzdem keine Garantie bernehmen, daž die Programme vollst„ndig fehlerfrei sind. Insbesondere haften wir nicht fr Datenverluste oder andere Defekte, die auf Programmfehler in unseren Produkten zurckzufhren sind. Es k”nnen keine Schadensersatzansprche an uns geltend gemacht werden. Doku von HWR +++